/**  
 * All rights Reserved, Designed By www.tydic.com
 * @Title:  TestService.java   
 * @Package com.axin.service   
 * @Description:    TODO(用一句话描述该文件做什么)   
 * @author: axin     
 * @date:   2019年3月10日 下午1:55:22   
 * @version V1.0 
 * @Copyright: 2019 www.hao456.top Inc. All rights reserved. 
 */
package com.axin.service;

import java.util.List;

import com.axin.common.entity.ApiToken;
import com.axin.common.entity.DataGridResult;
import com.axin.common.entity.JsonResult;
import com.axin.common.entity.PageObject;
import com.axin.common.entity.response.TimestampResponse;
import com.axin.entity.HbSymbols;

/**   
 * @Description: TODO 
 * @ClassName:  TestService
 * @author:  Axin 
 * @date:   2019年3月10日 下午1:55:22   
 * @Copyright: 2019 www.hao456.top Inc. All rights reserved. 
 */
public interface CommonService {
	
	
	
	/**
	 * 
	 * @Description: 导入远程交易对  
	 * @Title: importRemoteSymbols   
	 * @param: @param token      
	 * @return: void      
	 * @throws
	 */
	JsonResult importRemoteSymbols(ApiToken token);
	
	
	
	/**
	 * @Description: 导入远程币种
	 * @Title: importRemoteSymbols   
	 * @param: @param token      
	 * @return: void      
	 * @throws
	 */
	JsonResult importRemoteCurrencys(ApiToken token);
	
	/**
	 * 获取远程所有交易对
	 * @Description: TODO  
	 * @Title: getSymbols   
	 * @param:       
	 * @return: DataGridResult      
	 * @throws
	 */
	DataGridResult getSymbols(ApiToken token,PageObject page);
	
	
	
	
	/**
	 * @Description: 获取远程所有币种  
	 * @Title: getCurrencys   
	 * @param: @param token
	 * @param: @param page
	 * @param: @return      
	 * @return: DataGridResult      
	 * @throws
	 */
	DataGridResult getCurrencys(ApiToken token,PageObject page);

	
	
	
	
	/**
	 * 获取本地数据库交易对
	 * @Description: TODO  
	 * @Title: selectLocalSymbols   
	 * @param: symbols
	 * @param: page
	 * @return: DataGridResult      
	 * @throws
	 */
	DataGridResult selectLocalSymbols(HbSymbols symbols,PageObject page);
	
	
	/**
	 * 获取本地数据库所有交易对
	 * @Description: TODO  
	 * @Title: selectLocalSymbols   
	 * @param:       
	 * @return: List<HbSymbols>     
	 * @throws
	 */
	List<HbSymbols> selectLocalSymbols();
	
	
	List<HbSymbols> selectLocalSymbolsByLikeSymbol(String q);
	
	
	/**
	 * 根据参数查询交易对
	 * @Description: TODO  
	 * @Title: selectLocalSymbolsByParam   
	 * @param symbols
	 * @return List<HbSymbols>
	 * @throws
	 */
	HbSymbols selectLocalSymbolsByParam(HbSymbols symbols);
	
	/**
	 * 根据名称查询交易对
	 * @Title: selectLocalSymbolsBySymbol   
	 * @param name
	 * @return HbSymbols
	 * @throws
	 */
	HbSymbols selectLocalSymbolsBySymbol(String symbol);
	
	/**
	 * 获取本地数据库币种
	 * @Description: TODO  
	 * @Title: selectLocalCurrencys   
	 * @param: token
	 * @param: page
	 * @return: DataGridResult      
	 * @throws
	 */
	DataGridResult selectLocalCurrencys(String param,PageObject page);
	
	/**
	 * 查询系统当前时间
	 * @Title: timestamp   
	 * @param token
	 * @return TimestampResponse
	 * @throws
	 */
	TimestampResponse timestamp(ApiToken token);
	
	/**
	 * 获取时间戳
	 * @Description: TODO  
	 * @Title: getDateTime   
	 * @param token
	 * @return String
	 * @throws
	 */
	String getDateTime(ApiToken token);
	
}
